package java行为型设计模式.中介者模式;

import com.sun.org.apache.bcel.internal.generic.NEW;

/**
 * 中介者模式减少多个对象之间的通信。
 *
 * 此模式提供了一个处理不同类之间的所有通信的中介类。
 *
 * 中介者模式属于行为模式类别。
 */
public class Main {
    public static void main(String[] args) {
        Machine m1 = new Machine("M1");
        Machine m2 = new Machine("M2");

        m1.sendMessage("Rebooting");
        m2.sendMessage("Computing");
    }
}
class Printer{
    public static void showMessage(Machine user,String message){
        System.out.println(new java.util.Date().toString()
                + "[" + user.getName() + "]" +message);
    }
}
class Machine{
    private String name;
    public Machine(String name){
        this.name = name;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
    public void sendMessage(String message){
        Printer.showMessage(this,message);
    }
}
